// search模块的仓库
import { reqGetSearchInfo, reqGetSearchList } from "@/api"
// state：仓库存储数据的地方
const state = {
    searchList:{}
}
// mutations：修改state的唯一手段
const mutations = {
    GETSEARCHLIST(state, searchList) {
        state.searchList = searchList
    }
}
// actions：处理action，可以书写自己的业务逻辑，也可以异步处理
const actions = {
    // 获取search模块数据
    async getSearchList({ commit }, params = {}) {
        // 当前这个reGetSearchList这个函数在调用服务器时，至少传递一个参数（空对象）
        // params形参：是当前用户派发action的时候，第二个参数传递过来的，至少是一个空对象
        let result = await reqGetSearchList(params)
        if (result.code == 200) {
            commit('GETSEARCHLIST', result.data)
        }
    }
}
// getters：理解为计算属性，用于简化仓库数据，让组件获取仓库的数据更加方便
const getters = {
    // 当前形参state，当前仓库中的state，并非大仓库中的那个state
    attrsList(state) {
        // 假如没有网，返回的是一个undefine，所以因返回一个空数组
        return state.searchList.attrsList||[]
    },
    goodsList(state) {
        return state.searchList.goodsList||[]
    },
    trademarkList(state) {
        return state.searchList.trademarkList||[]
    }
}
export default {
    state,
    mutations,
    actions,
    getters
}